package ltd.followkba.comment.banners;

import android.content.Context;
import android.database.Cursor;

import com.kcbsdk.AFileBase;
import com.kcbsdk.MyWorks.ARecordInfo;

import java.util.ArrayList;
import java.util.List;

import ltd.advskin.MRAM;
import ltd.advskin.base.KcListener;
import ltd.advskin.beandbs.ConvBean;

import static ltd.advskin.MSKIN.MSTRING;

//public class DbsAutoId extends CBeanFile {
//
//    //    public DbsAutoId(int fileType){
////        super(MRAM.mContext, String.format("Memory%03x.sdb", fileType), "Bean", false);
////    }
//    public DbsAutoId(Context context, int fileType){
//        super(context, String.format("Memory%03x.sdb", fileType), "Bean", false);
////deleteAllItem();
//    }
//    public void addItem(Object object){
//        addItem(getSize(), object);
//    }
//    public void setItemAFileBase(AFileBase aFileBase){
//        if (aFileBase != null){
//            int number = isExist(2, aFileBase);
//            if (number == -1){
//                addItem(getSize(), aFileBase);
//            }else {
//                setItem(number, aFileBase);
//            }
//        }
//    }
//    public Object getItemAFileBase(AFileBase aFileBase){
//        if (aFileBase != null){
//            int number = isExist(2, aFileBase);
//            if (number != -1){
//                return getItem(number);
//            }
//        }
//        return null;
//    }
//    public void deleteItemAFileBase(AFileBase aFileBase, int index){
//        if (aFileBase != null){
//            int number = isExist(2, aFileBase);
//            MSTRING("deleteItemByIndex A "+index+" "+number);
//            if (number >= 0){
//                deleteItem(number);
//                return;
//            }
//        }
//        // 在数据可能是旧的时候，只能通过这个删除了
//        List<ItemBean> lists = (List) getListWithItem(Integer.MAX_VALUE, null);
//        MSTRING("deleteItemByIndex A "+index+" "+lists.size());
//        if (index < lists.size()){
//            ItemBean itemBean = lists.get(index);
//            MSTRING("deleteItemByIndex B "+itemBean.Item+" "+index);
//            deleteItem(index);
//        }
//    }
//    public void setARecordSong(int itemID, ARecordInfo aRecordSong) {
//        ConvBean convBean = new ConvBean();
//        setItem(itemID, convBean.fromARecordInfo (aRecordSong));
//    }
//    public void addItemString(String string){
////        MSTRING("addItemString A "+string);
//        if (string != null && !"".equals(string)) {
//            int number = isExist(0, string);
////            MSTRING("addItemString B "+number);
//            if (number == -1){
////                MSTRING("addItemString C "+getSize());
//                addItem(getSize(), string);
//            }
//        }
//    }
//    public void deleteItemString(String string){
//        if (string != null && !"".equals(string)) {
//            int number = isExist(0, string);
//            if (number >= 0){
//                deleteItem(number);
//            }
//        }
//    }
//    private int isExist(int type, Object object){
//        List<ItemBean> lists = (List) getListWithItem(Integer.MAX_VALUE, null);
//        int length = lists.size();
//        ItemBean itemBean;
//        if (type == 0) {
//            String gsLocal_1 = (String) object;
//            if (gsLocal_1 != null && !"".equals(gsLocal_1)) {
//                for (int counter = 0; counter < length; counter++) {
//                    itemBean = lists.get(counter);
//                    if (itemBean != null) {
//                        if (gsLocal_1.equals(itemBean.Bean)) {
//                            return itemBean.Item;
//                        }
//                    }
//                }
//            }
//        }else if (type == 2) {
//            if (object instanceof ARecordInfo) {
//                ARecordInfo aFileBase = (ARecordInfo) object;
//                ARecordInfo item;
//                for (int counter = 0; counter < length; counter++) {
//                    itemBean = lists.get(counter);
//                    item = (ARecordInfo) itemBean.Bean;
//                    if (item != null) {
//                        if (item.RecordID == aFileBase.RecordID) {
//                            return itemBean.Item;
//                        }
//                    }
//                }
//            }else if (object instanceof AFileBase) {
//                AFileBase aFileBase = (AFileBase) object;
//                AFileBase item;
//                for (int counter = 0; counter < length; counter++) {
//                    itemBean = lists.get(counter);
//                    item = (AFileBase) itemBean.Bean;
//                    if (item != null) {
//                        if (item.UserID == aFileBase.UserID && item.FileID == aFileBase.FileID) {
//                            return itemBean.Item;
//                        }
//                    }
//                }
//            }
//        }
//
//
//        return -1;
//    }
//    private List<ItemBean> getListWithItem(int maxLength, String orderBy){
//        List<ItemBean> list = new ArrayList<>();
//        Cursor cursor = mSQLiteDatabase.query(gsTable, null, null, null, null, null, orderBy);
//        if (cursor.moveToFirst()) {
//            ItemBean itemBean;
//            int column;
//            int counter = 0;
//            do {
//                column = cursor.getColumnIndex("item");
//                if (column >= 0) {
//                    itemBean = new ItemBean();
//                    itemBean.Item = cursor.getInt(column);
//                    column = cursor.getColumnIndex("bean");
//                    if (column >= 0) {
//                        itemBean.Bean = byteToObject(cursor.getBlob(column));
//                    }
//                    list.add(itemBean);
//                }
//                if (++counter >= maxLength){
//                    break;
//                }
//            } while (cursor.moveToNext());
//        }
//        cursor.close();
//        return list;
//    }
//
//    public void FetchList(final KcListener kcListener){
//        new Thread(new Runnable() {
//            @Override
//            public void run() {
//                if (kcListener !=null) {
//                    final List<Object> list = getList();
//                    MRAM.mActivity.runOnUiThread(new Runnable() {
//                        @Override
//                        public void run() {
//                            kcListener.onMessage(list);
//                        }
//                    });
//                }
//
//            }
//        }).start();
//    }
//    class ItemBean {
//        public int Item;
//        public Object Bean;
//    }
//}
//
//
